#ifndef RenderSystem_h__
#define RenderSystem_h__

#include "Common/CommonTypes.h"
#include "RenderObject.h"

class CLightPass;
class CMeshBuffer;
class CHardwareResourceManager;
class CD3D10RenderDevice;

class CRenderSystem
{
public:
	CRenderSystem(CD3D10RenderDevice* pRenderDev);
	~CRenderSystem();

	void Init();
	void UnInit();

	void BeginRender();	
	void Render(const CRenderObject& renderObj);
	void DrawAll();
	void EndRender();
public:
	void DrawMesh(CMeshBuffer* pMesh);
	
private:
	std::vector<CRenderObject*>  m_vecRenderObjs;

	CLightPass*                 m_pLightPass;
	CD3D10RenderDevice*         m_pRenderDev;
};

#endif // CRenderSystem_h__
